//
//  CZMainViewController.swift
//  FYBXinLang
//
//  Created by mac1 on 16/3/20.
//  Copyright © 2016年 mac1. All rights reserved.
//

import UIKit

class CZMainViewController: UITabBarController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
         // 自定义tabBar,添加加号按钮,系统的tabBar是只读的.不能直接使用=赋值,使用KVC来赋值
//        let ba = CZMainTabBar()
        setValue(CZMainTabBar(), forKey: "tabBar")
        
        //设置tabBarVC的子控制器
        addChildViewController()
        
           }
    
    
      /// 创建所有的控制器
    func addChildViewController() {
        //首页
        //创建首页 控制器 tableview
        let homeVC = CZHomeViewController()
        addChildViewController(homeVC, title: "首页", imageName: "tabbar_home")
        //消息
        let messageVC = CZMessageViewController()
        addChildViewController(messageVC, title: "消息", imageName: "tabbar_discover")
        //发现
        let discoverVC = CZDiscoverViewController()
        addChildViewController(discoverVC, title: "发现", imageName: "tabbar_discover")
        //我
        let profileVC = CZProfileViewController()
        addChildViewController(profileVC, title: "我", imageName: "tabbar_profile")

    }
    
    /**
    添加为tabBar的子控制器
    - parameter controller: 控制器
    - parameter title:      标题
    - parameter imageName:  图片名称
    */
    func addChildViewController(controller: UIViewController, title: String, imageName: String) {
        
        //设置标题
        controller.title = title
        //设置tabBar 图片
        controller.tabBarItem.image = UIImage(named: imageName)
        //设置高亮图片
        //拼接高亮图片名字
        let hightedImageName = imageName + "_highlighted"
        

        // 设置高亮图片.默认情况下选中图片会被渲染成蓝色的.想要使用图片原来的颜色
        //方法一
           controller.tabBarItem.selectedImage = UIImage(named: hightedImageName)?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
        //方法二
       // 设置barBar的TintColor,适合 图片颜色 和字体颜色 一样的情况 (下面那个就可以省略了 )
          tabBar.tintColor = UIColor.orangeColor()
        
        //设置item文字颜色
        controller.tabBarItem.setTitleTextAttributes([NSForegroundColorAttributeName : UIColor.orangeColor()], forState: UIControlState.Selected)
        
        //添加子控制器
        addChildViewController(UINavigationController(rootViewController: controller))
        
        
        
    }
    
}
